package com.googlecode.openauth.web.dao;

import java.util.List;

import org.apache.ibatis.session.RowBounds;

import com.googlecode.openauth.web.entity.RoleInfo;
import com.googlecode.openauth.web.entity.UserInfo;

public interface IUserDao {

	public void insertUser(UserInfo user);

	public void deleteUser(int userId);

	public void updateUser(UserInfo user);

	public UserInfo getUserById(int userId);
	
	public int getAllUserCount(RoleInfo role);

	public List<UserInfo> getAllUser(RoleInfo role , RowBounds rowBounds);

	public List<UserInfo> getUsers(UserInfo user);
	
	public int getUsersCount(UserInfo user);
	
	public void deleteUsers(List<Integer> ids);

	public UserInfo getUserByName(String userName);
	
	public int searchUsersCount(UserInfo user);
	
	public List<UserInfo> searchUsers(UserInfo user, RowBounds rowBounds);
}
